Como medir el tiempo de ejecución entre dos breakpoints para poder medir el rendimiento
Para medir el tiempo de ejecución simplemente tenemos que añadir el siguiente código alrededor del código del que queramos medir el tiempo de ejecución:
long startTime = System.currentTimeMillis();
...
long endTime = System.currentTimeMillis();
long executionTime = endTime - startTime;
Antes de ejecutar el código en el IDE solo tenemos que poner un breakpoint justo antes del código y otro justo después del código, tal que así:
Al ejecutar el código solo tenemos que añadir un watch para la variable executionTime y cuando se alcance el segundo breakpoint veremos el tiempo que ha tardado en ejecutarse la porción de código (tiempo en milisegundos):
NOTA: es importante ejecutar el código entre los dos breakpoints del tiron y no ir con ejecución linea a linea en el depurador, ya que se con este método se tiene en cuenta el tiempo real y no el tiempo de ejecución del proceso.
Con el IDE Intellij tenemos la siguiente extensión que nos permite hacer exactamente lo mismo que hacemos arriba:
Spot Profiler for Java and Kotlin
Simplemente hacemos click derecho con las líneas de código que queramos medir el tiempo de ejecución y hacemos click en Profile code fragment
Java | Debug ! Measure Time